package com.ruibang.glass.material.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruibang.glass.material.domain.req.MaterialBalanceReq;
import com.ruibang.glass.material.domain.req.MaterialDullnessReq;
import com.ruibang.glass.material.domain.req.MaterialRQDullnessReq;
import com.ruibang.glass.material.dto.MaterialBalanceDTO;
import com.ruibang.glass.material.dto.MaterialDullnessDTO;
import com.ruibang.glass.material.dto.MaterialRqDullnessDTO;
import com.ruibang.glass.material.entity.cp.MaterialCPProductsInInfo;
import com.ruibang.glass.material.entity.ycl.MaterialManagementInventory;

/**
 * <p>
 * 呆滞统计
 * </p>
 *
 * @author mameng
 * @since 2024-04-01
 */

public interface MaterialDullnessService {
    /**
     * @param materialDullnessReq
     * @return
     */
    Page<MaterialManagementInventory> getDullnessPage(MaterialDullnessReq materialDullnessReq);

    /**
     * 半成品呆滞
     *
     * @param materialDullnessReq
     * @return
     */
    Page<MaterialManagementInventory> getBcpDullnessPage(MaterialDullnessReq materialDullnessReq);

    /**
     * 成品呆滞
     *
     * @param materialDullnessReq
     * @return
     */
    Page<MaterialManagementInventory> getCpDullnessPage(MaterialDullnessReq materialDullnessReq);

    /**
     * 仓库出入库呆滞统计
     *
     * @param materialDullnessReq
     * @return
     */
    Page<MaterialManagementInventory> getWarehouseDullnessList(MaterialDullnessReq materialDullnessReq);

    /**
     * 容器呆滞统计
     *
     * @param materialDullnessReq
     * @return
     */
    Page<MaterialRqDullnessDTO> getRqDullnessList(MaterialRQDullnessReq materialDullnessReq);

    Page<MaterialDullnessDTO> getMaterialDullnessList(MaterialDullnessReq materialDullnessReq);


    void updateGD(MaterialManagementInventory materialManagementInventory);

    void updateBCPGD(MaterialManagementInventory materialManagementInventory);

    void updateCPGD(MaterialManagementInventory materialManagementInventory);


}
